From 0b2614f957223c25137c879cef33d20187942959 Mon Sep 17 00:00:00 2001 From: "Matteo F. Vescovi" Date: Sat, 18 Mar 2017 22:39:07 +0100 Subject: [PATCH] debian/patches/: patchset updated - 0001-Fix_unaligned_access_on_sparc64.patch added Closes: #806208 --- ...0001-Fix_unaligned_access_on_sparc64.patch | 45 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 46 insertions(+) create mode 100644 debian/patches/0001-Fix_unaligned_access_on_sparc64.patch create mode 100644 debian/patches/series diff --git a/debian/patches/0001-Fix_unaligned_access_on_sparc64.patch b/debian/patches/0001-Fix_unaligned_access_on_sparc64.patch new file mode 100644 index 0000000..0a9d579 --- /dev/null +++ b/debian/patches/0001-Fix_unaligned_access_on_sparc64.patch @@ -0,0 +1,45 @@ +From: "Matteo F. Vescovi" +Date: Sat, 18 Mar 2017 22:37:39 +0100 +Subject: Fix_unaligned_access_on_sparc64 + +--- + extensions/gggl.c | 26 +++++++------------------- + 1 file changed, 7 insertions(+), 19 deletions(-) + +diff --git a/extensions/gggl.c b/extensions/gggl.c +index b01659f..88d1c12 100644 +--- a/extensions/gggl.c ++++ b/extensions/gggl.c +@@ -748,25 +748,13 @@ conv_rgbA8_rgba8 (unsigned char *src, unsigned char *dst, long samples) + + while (n--) + { +- if (src[3] == 255) +- { +- *(unsigned int *) dst = *(unsigned int *) src; +- dst += 4; +- } +- else if (src[3] == 0) +- { +- *(unsigned int *) dst = 0; +- dst += 4; +- } +- else +- { +- unsigned int aa = ((255 << 16) + (src[3] >> 1)) / src[3]; +- *dst++ = (src[0] * aa + 0x8000) >> 16; +- *dst++ = (src[1] * aa + 0x8000) >> 16; +- *dst++ = (src[2] * aa + 0x8000) >> 16; +- *dst++ = src[3]; +- } +- src += 4; ++ dst[0] = src[0]; ++ dst[1] = src[1]; ++ dst[2] = src[2]; ++ dst[3] = 255; ++ ++ src += 3; ++ dst += 4; + } + return samples; + } diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..7ea7343 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +0001-Fix_unaligned_access_on_sparc64.patch -- 2.30.2